import UIKit

//
@available(iOS 13.0, *)
extension QKC where AA :UIBarAppearance {
	/// The idiom that this appearance object targets.
    open func idiom_qk_g() -> QKC<AA,YY,ZZ, UIUserInterfaceIdiom >{
		 self +^ self.value.idiom
	}

	/// A specific blur effect to use for the bar background. This effect is composited first when constructing the bar's background.
     open func backgroundEffect_qk_s(_ backgroundEffect:  UIBlurEffect?) -> QKC<AA,YY,ZZ, UIBlurEffect?>{
		return link(next: backgroundEffect).then_QK { $0.value.backgroundEffect = backgroundEffect }
	}
     open func backgroundEffect_qk_g() -> QKC<AA,YY,ZZ, UIBlurEffect?>{
		 self +^ self.value.backgroundEffect
	}

	/// A color to use for the bar background. This color is composited over backgroundEffects.
     open func backgroundColor_qk_s(_ backgroundColor:  UIColor?) -> QKC<AA,YY,ZZ, UIColor?>{
		return link(next: backgroundColor).then_QK { $0.value.backgroundColor = backgroundColor }
	}
     open func backgroundColor_qk_g() -> QKC<AA,YY,ZZ, UIColor?>{
		 self +^ self.value.backgroundColor
	}

	/// An image to use for the bar background. This image is composited over the backgroundColor, and resized per the backgroundImageContentMode.
    open func backgroundImage_qk_s(_ backgroundImage:  UIImage?) -> QKC<AA,YY,ZZ, UIImage?>{
		return link(next: backgroundImage).then_QK { $0.value.backgroundImage = backgroundImage }
	}
    open func backgroundImage_qk_g() -> QKC<AA,YY,ZZ, UIImage?>{
		 self +^ self.value.backgroundImage
	}

	/// The content mode to use when rendering the backgroundImage. Defaults to UIViewContentModeScaleToFill. UIViewContentModeRedraw will be reinterpreted as UIViewContentModeScaleToFill.
    open func backgroundImageContentMode_qk_s(_ backgroundImageContentMode:  UIView.ContentMode) -> QKC<AA,YY,ZZ, UIView.ContentMode>{
		return link(next: backgroundImageContentMode).then_QK { $0.value.backgroundImageContentMode = backgroundImageContentMode }
	}
    open func backgroundImageContentMode_qk_g() -> QKC<AA,YY,ZZ, UIView.ContentMode>{
		 self +^ self.value.backgroundImageContentMode
	}

	/// A color to use for the shadow. Its specific behavior depends on the value of shadowImage. If shadowImage is nil, then the shadowColor is used to color the bar's default shadow; a nil or clearColor shadowColor will result in no shadow. If shadowImage is a template image, then the shadowColor is used to tint the image; a nil or clearColor shadowColor will also result in no shadow. If the shadowImage is not a template image, then it will be rendered regardless of the value of shadowColor.
     open func shadowColor_qk_s(_ shadowColor:  UIColor?) -> QKC<AA,YY,ZZ, UIColor?>{
		return link(next: shadowColor).then_QK { $0.value.shadowColor = shadowColor }
	}
     open func shadowColor_qk_g() -> QKC<AA,YY,ZZ, UIColor?>{
		 self +^ self.value.shadowColor
	}

	/// Use an image for the shadow. See shadowColor for how they interact.
    open func shadowImage_qk_s(_ shadowImage:  UIImage?) -> QKC<AA,YY,ZZ, UIImage?>{
		return link(next: shadowImage).then_QK { $0.value.shadowImage = shadowImage }
	}
    open func shadowImage_qk_g() -> QKC<AA,YY,ZZ, UIImage?>{
		 self +^ self.value.shadowImage
	}

	/// Reset background and shadow properties to their defaults.
    open func configureWithDefaultBackground_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.configureWithDefaultBackground()
	}

	/// Reset background and shadow properties to display theme-appropriate opaque colors.
    open func configureWithOpaqueBackground_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.configureWithOpaqueBackground()
	}

	/// Reset background and shadow properties to be transparent.
    open func configureWithTransparentBackground_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.configureWithTransparentBackground()
	}

}

